package main

import "fmt"

func main() {
	test1("abc", 11, 22, 33, 44);
	test2(55, 66, 77, 88)
}

func test1(a string, args ...int) {
	// 不定数量参数（可以不传参数）
	// 不定参数放在最后
	fmt.Println(a)
	for i, data := range args {
		fmt.Println(i, data, args[i])
	}
}

func test2(args ...int) {
	// 全部参数传递
	test1("abcd", args...)

	// 传递部分参数
	test1("efgh", args[1:]...) // [1
	test1("jklm", args[:2]...) // 2)
}
